#pragma once

//import or export
#define NB_API_EXPORT __declspec(dllexport)
#define NB_API_IMPORT __declspec(dllimport)


//Memory Size
#define KB(x)	(x)*1024
#define MB(x)	KB(x)*1024
typedef unsigned int	memory_size;
typedef void*			memory_address;


//Data Type
typedef int				int32_t;
typedef unsigned int	uint32_t;



//ERROR CODE
#define _ERROR_CHECK(x) if(x){return x;}  //TODO:If Error ,Exit or Log
#define _hr uint32_t 
#define _OK 0


//Define Platform / VS15 Seem to Have Some Bugs About #ifdef
#ifdef NB_PLATFORM_WIN
#include "../Windows/PlatformWin.h"
typedef EngineCore::PlatformWin  PlatformLayer;
#endif




//Debug Tool
#include "iostream"